#include <stdio.h>
#include <string.h>

#define N	10
#define M	20

int main(void)
{
	char str[N];
	char str2[M];
	int i;

	i = 0;
	do {
		scanf("%c", &str[i]);
	}while(str[i++] != '\n' && i < N - 1);
	// 读入的是字符串,一定有'\0',读不到的,赋'\0'
	if (str[i - 1] == '\n')
		str[i - 1] = '\0'; // '\n'的位置或者数组的最后一个位置
	else {
		// i == N - 1
		str[i] = '\0';
	}

	i = 0;
	do {
		scanf("%c", &str2[i]);
	}while(str2[i++] != '\n' && i < M - 1);
	// 读入的是字符串,一定有'\0',读不到的,赋'\0'
	if (i < M - 1) {
		str2[i - 1] = '\0'; // '\n'的位置或者数组的最后一个位置
	} else {
		str2[i] = '\0';
	}

	puts(str);
	puts(str2);
	
#if 0
	// 复制 str2复制到str str容量是N str2的容量是M	
	for (i = 0; str2[i] && i < N - 1; i++) {
		str[i] = str2[i];
	}
	// str2[i] 一定能完整的copy到str中吗? 不一定的
	for (; i < N; i++)
		str[i] = '\0'; // str剩下的存储空间都复制为'\0'
#endif
	strncpy(str, str2, N-1);
	printf("复制后str:%s\n", str);

	return 0;
}

